一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
在考生目录下的"订货管理"数据库中完成如下操作:
1. 将order_detail、order_list和customer表添加到数据库。
2. 为order_list表创建一个主索引,索引名和索引表达式均是"订单号"。
3. 建立表order_list和表order_detail间的永久联系(通过"订单号"字段)。
4. 为以上建立的联系设置参照完整性约束:更新规则为"限制",删除规则为"级联",插入规则为"限制"。
解答:
1、2、3略。
4、首先在数据库设计器中,选择两表关系的联接线。
其次:进行“数据库清理”,在“数据库”菜单中运行“数据库清理”命令。
再次:编辑参照完整性。选择联接线,单击鼠标右键则会弹出一个快捷菜单,在快捷菜单中单击“编辑参照完整性”,打开“参照完整性生成器”对话框,在“参照完整性生成器”中按要求进行设置。
二、简单应用(2小题,每题20分,计40分)
在考生目录下完成如下简单应用:
1. 列出客户名为"三益贸易公司"的订购单明细(order_detail)记录(将结果先按"订单号"升序排列,同一订单的再按"单价"降序排列),并将结果存储到results表中(表结构与order_detail表结构相同)。
解答:
方法1:利用查询设计器,略
方法2:利用SQL语句,在命令窗口直接输入命令:
SELECT * FROM 订货管理!order_detail ORDER BY Order_detail.订单号, Order_detail.单价 DESC INTO TABLE results.dbf
2. 考生目录下有一个form1表单文件,其中三个命令按钮click事件下的语句都是错误的,请按如下要求进行修改(最后保存所做的修改):
(1) 单击"刷新标题"命令按钮时,使表单的标题为"简单应用";
(2) 单击"订单记录" 命令按钮时,使表格控件中显示order_list表中的记录;
(3) 单击"关闭表单" 命令按钮时,关闭表单。
注意:每处错误只能在原语句上进行修改,不可以增加语句。

1、刷新标题事件为:&&使表单的标题为:简单应用
thisform="简单应用"
2、订单记录事件为:&&在表格控件中显示order_list表的记录
thisform.grid1="order_list.dbf"
3、关闭表单事件为:&&关闭表单
thisform.close
解答:
thisform="简单应用"应改为:thisform.caption="简单应用"
thisform.grid1="order_list.dbf"应改为:
thisform.grid1.recordsource=”order_list.dbf”
thisform.close应改为:thisform.release
三、综合应用(1小题,计30分)
当order_detail表中的单价修改后,应该根据该表的"单价"和"数量"字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:
(1) 根据order_detail表中的记录重新计算order_list表的总金额字段的值;
(2) 一条order_list记录可以对应几条order_detail记录;
(3) 在编程前应保证在基础操作中正确地建立了order_list表,在简单应用中为该表追加了记录(注意只能追加一次);
(4) 最后将order_list表中的记录按总金额降序排序存储到od_new表中(表结构与order_list表完全相同);
(5) 将程序保存为prog1.prg文件。
解答:
Prog1.prg程序代码如下:
Sele 订单号,sum(单价*数量) as 总金额 from order_detai1 group by 订单号 into table t
set talk off
use t in 0
index on 订单号 tag xx
set order to tag xx
use order_list in 2
select 2
set relation to 订单号 into order_detail
replace all 总金额 with t.总金额
sort on 总金额/desc to od_new
set talk on
附:本题相关表


